const path = require("path");
// const { project, dev } = require("./config");
function resolve(dir) {
  return path.join(__dirname, dir);
}

const isProduction = process.env.NODE_ENV === "production"
const proxy = {
  /* 目标代理服务器地址 */
  target: 'http://49.232.89.149:8081',
  // target: 'http://192.168.31.24:8081',
  /* 允许跨域 */
  changeOrigin: true,
  // 不接受运行在https上，且使用了无效证书的后端服务器
  secure: true,
  // 实现前后端cookie域名转换，保证cookie的顺利传递
  cookieDomainRewrite: true
};

module.exports = {
  publicPath: '/',
  /* 输出文件目录：在npm run build时，生成文件的目录名称 */
  outputDir: "dist",
  /* 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录 */
  assetsDir: "static",
  /* 是否在构建生产包时生成 sourceMap 文件，false将提高构建速度 */
  productionSourceMap: false,
  /* 代码保存时进行eslint检测 */
  lintOnSave: false,
  /* webpack-dev-server 相关配置 */
  devServer: {
    /* 自动打开浏览器 */
    open: true,
    /* 设置为0.0.0.0则所有的地址均能访问 */
    host: "0.0.0.0",
    contentBase: [resolve("public"), resolve("dist")],
    port: 8080,
    openPage: "apply/login",
    proxy: {
      "/api/": proxy,
      "/rhtapp/": proxy,
      "rhtapp": proxy
    }
  },
  css: {
    sourceMap: !isProduction
  },
  configureWebpack: config => {
    //调试JS
    config.devtool = !isProduction && "source-map";
  },
  transpileDependencies: ['arg'],
  chainWebpack: config => {
    // config.devtool('source-map') 此配置不生效
    //起src和vue$两个别名
    config.resolve.alias.set("src", resolve("src")).set("vue$", "vue/dist/vue.esm.js");
    const svgRule = config.module.rule("svg");
    // 清除已有的所有 loader。
    // 如果你不这样做，接下来的 loader 会附加在该规则现有的 loader 之后。
    svgRule.uses.clear();

    // 添加要替换的 loader
    svgRule.use("svg-inline-loader").loader("svg-inline-loader");
  }
};
